Use forward slashes for package configuration #1893
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The local environment
.config
file has relied so far on OS-specific path strings to determine assembly locations and native library folders. However, because of this it is currently not possible to version.config
files across platforms, e.g. Windows and Linux, since the direction of slashes is different.This PR normalizes config file manipulations to prefer Unix paths for all package install, update and removal operations. To allow for the greatest backwards compatibility as well as OS-specific path strings passed through the CLI interface, the behavior of the
PackageConfiguration
andConfigurationHelper
classes was not modified. Instead, normalization was implemented via thePackageConfigurationUpdater
, which is responsible for actually manipulating the serializable representation of the.config
file.When initializing the updater object, all existing paths are normalized to Unix forward slashes, and any further modifications are then performed and persisted using forward slash path separators.
Fixes #1864